當(dāng)前位置: 首頁(yè) > 新聞熱點(diǎn)
發(fā)布日期:2022-07-14 點(diǎn)擊率:50
有了基于 FPGA 的原型設(shè)計(jì),在SoC上市之前,我們就可以進(jìn)行軟件開(kāi)發(fā)和調(diào)試,因?yàn)樵撛驮O(shè)計(jì)比仿真器或模擬加速器的運(yùn)行速度快10-100倍,軟件可以在復(fù)雜的操作系統(tǒng)及大型測(cè)試環(huán)境下進(jìn)行測(cè)試。
然而,實(shí)現(xiàn)上述原型設(shè)計(jì)系統(tǒng)需要克服一系列開(kāi)發(fā)方面的挑戰(zhàn)。不過(guò),讓人驚訝的是創(chuàng)建硬件本身并非最棘手的問(wèn)題。實(shí)際上,許多廠商就可提供為特定目的構(gòu)建的ASIC 原型板,如 HAPS 高速 ASIC 原型設(shè)計(jì)系統(tǒng)等。因此,設(shè)計(jì)成功的關(guān)鍵是合適的軟件,在當(dāng)今電子行業(yè)的諸多領(lǐng)域都是這種情況。真正的挑戰(zhàn)是在 FPGA 中實(shí)施原型設(shè)計(jì)。雖然目前最大的 FPGA 可以處理約 250 萬(wàn)個(gè) ASIC門(mén)數(shù)的設(shè)計(jì)驗(yàn)證,但原型設(shè)計(jì)常常需要一個(gè)以上的 FPGA。使用多個(gè) FPGA 將面臨如下所述的一系列值得注意的難題。
原型創(chuàng)建功能的核心是將 SoC 設(shè)計(jì)移植到 FPGA 上。移植的目的是為了驗(yàn)證軟件,因此應(yīng)當(dāng)在盡量不修改RTL的情況下完成驗(yàn)證工作。如果必須在兩個(gè)或更多 FPGA 之間對(duì)設(shè)計(jì)進(jìn)行拆分,則連接至FPGA的引腳會(huì)出現(xiàn)數(shù)量不足的問(wèn)題。根據(jù) Rent 規(guī)則,所需I/O引腳數(shù)將以門(mén)數(shù)量的分?jǐn)?shù)冪增加,如果一個(gè)大型設(shè)計(jì)拆分成幾個(gè)器件,則需要大量的I/O 引腳。即使擁有超過(guò)1,000個(gè)I/O引腳的最新型的 FPGA 也不具有實(shí)現(xiàn)目標(biāo)所需的資源。很顯然,不可能靠 RTL 人工編碼來(lái)解決這一問(wèn)題。真正解決這一問(wèn)題必須開(kāi)發(fā)適合的軟件。采用自動(dòng)引腳多路復(fù)用技術(shù),一個(gè)引腳可傳輸數(shù)個(gè)I/O信號(hào),但性能將有所下降。幸運(yùn)的是,FPGA 的運(yùn)行速度足夠快,即使采用多路復(fù)用I/O,也能提供足夠高的性能,從而能夠驗(yàn)證復(fù)雜的嵌入式軟件。不過(guò),解決問(wèn)題不止一種方法。FPGA 中所有功能塊的自動(dòng)復(fù)制以及 RTL 上的Bit-Slicing和Zippering等特殊操作可進(jìn)一步減少對(duì) FPGA I/O引腳的需求。
在將 SoC 設(shè)計(jì)移植到 FPGA 上時(shí),開(kāi)發(fā)小組還將面臨的另外一個(gè)問(wèn)題是門(mén)控時(shí)鐘轉(zhuǎn)換和ASIC IP。FPGA 架構(gòu)并不支持通常用于ASIC 中以降低功耗的門(mén)控時(shí)鐘設(shè)計(jì)風(fēng)格,而是必須將時(shí)鐘門(mén)控信號(hào)轉(zhuǎn)換為時(shí)鐘使能信號(hào),才能確保該設(shè)計(jì)在FPGA 硬件上正常運(yùn)行。而實(shí)現(xiàn)這一自動(dòng)轉(zhuǎn)換的唯一可行性辦法就是開(kāi)發(fā)適當(dāng)?shù)能浖P是 SoC 設(shè)計(jì)的主要組成部分,若將其集成于原型設(shè)計(jì)中則可能會(huì)帶來(lái)另一個(gè)問(wèn)題。有時(shí)需要大的功能塊(如處理器)作為整個(gè)芯片與硬件接口。唯一的要求是原型設(shè)計(jì)硬件必須具備足夠的靈活性以支持各種IP功能子卡(子板)。但是,采用這種方法需要處理的常用功能太多,如存儲(chǔ)器、FIFO、乘法器和加法器等。而采用適合的軟件可以自動(dòng)將這些功能塊轉(zhuǎn)換成與 FPGA 兼容的組件。
一旦設(shè)計(jì)移植到 FPGA 上,該設(shè)計(jì)將以實(shí)速(at-speed)運(yùn)行,但繼而出現(xiàn)了另一個(gè)問(wèn)題,即如何高效完成調(diào)試工作?雖然可以采用嵌入式或非嵌入式邏輯分析儀來(lái)完成這項(xiàng)工作但要求其在單獨(dú)的門(mén)級(jí)或總線級(jí)上運(yùn)行。另外,向后追蹤這些信號(hào)至RTL級(jí)是一個(gè)非常耗時(shí)的過(guò)程,因?yàn)樾枰M(jìn)行向后操作穿過(guò)綜合步驟。真正需要的是運(yùn)行于RTL級(jí)上的調(diào)試軟件,RTL級(jí)與設(shè)計(jì)運(yùn)行的抽象級(jí)別相同。另外,就是需要自動(dòng)生成全面的測(cè)試基準(zhǔn)的能力。根據(jù)該測(cè)試基準(zhǔn),檢測(cè)到的錯(cuò)誤或斷言故障可導(dǎo)出至模擬器重放并對(duì)問(wèn)題進(jìn)行分析。目前,Synplicity 公司的 Identify Pro 產(chǎn)品就具備這種功能,可以將 FPGA 原型設(shè)計(jì)應(yīng)用到更廣泛的驗(yàn)證環(huán)境中。
基于FPGA原型的實(shí)速SoC驗(yàn)證方法是一種針對(duì)復(fù)雜嵌入式系統(tǒng)驗(yàn)證的解決方案。可以解決該領(lǐng)域眾多問(wèn)題的軟件和現(xiàn)成原型板現(xiàn)已供貨。盡管如此,仍有進(jìn)一步改善的空間,原型設(shè)計(jì)硬件和軟件組件可以更進(jìn)一步集成,同時(shí)系統(tǒng)啟動(dòng)時(shí)間和修改次數(shù)也有待縮短。隨著這些功能的發(fā)展,實(shí)速驗(yàn)證系統(tǒng)(如Synplicity公司的/confirm/ia平臺(tái))將與其它現(xiàn)有的驗(yàn)證方法共成為 SoC開(kāi)發(fā)不可或缺的部分。
作者:Juergen Jaeger
ASIC 驗(yàn)證市場(chǎng)營(yíng)銷部高級(jí)總監(jiān)
Synplicity 公司