面向ASIC和FPGA設(shè)計(jì)的多點(diǎn)綜合技術(shù)
對(duì)于同一IP模塊的多個(gè)范例,多點(diǎn)綜合技術(shù)可以確定每個(gè)獨(dú)特范例的邊界優(yōu)化條件,而不必對(duì)各個(gè)范例進(jìn)行再綜合。多點(diǎn)技術(shù)采用一種獨(dú)特的、基于差別的增量綜合方法(見圖1),它只對(duì)確實(shí)改變了的編譯點(diǎn)模塊進(jìn)行再綜合。只有那些因RTL、屬性或約束條件發(fā)生變化而受影響的編譯點(diǎn)才會(huì)被重新綜合。通過(guò)比較新、舊RTL,多點(diǎn)綜合技術(shù)可以智能地確定哪些變化是實(shí)質(zhì)性的,因而有必要執(zhí)行再綜合。例如,RTL時(shí)間標(biāo)記的改變、為RTL增加注釋以及約束條件的重新排序都不會(huì)啟動(dòng)再綜合。這造就了高效的綜合,并顯著提高了生產(chǎn)力。通過(guò)鎖定編譯點(diǎn),多點(diǎn)技術(shù)可以確保設(shè)計(jì)的穩(wěn)定性,使用戶無(wú)需理會(huì)模塊的變化。
多點(diǎn)技術(shù)的特點(diǎn)之一是它同時(shí)適用于FPGA 和ASIC設(shè)計(jì)。通過(guò)比較門數(shù)、硬嵌入IP、工藝尺寸、性能及目前的實(shí)現(xiàn)成本,我們可以得知這兩種選擇之間的差別正在變得模糊。以大約十萬(wàn)片的生產(chǎn)水平為例,越來(lái)越多的設(shè)計(jì)者看到FPGA 與ASIC選擇之間的傳統(tǒng)成本差異正在消失。用于ASIC和FPGA的設(shè)計(jì)技術(shù)也日趨融合。以Synplicity公司的產(chǎn)品為例,物理綜合、布局以及形式驗(yàn)證不再只是ASIC開發(fā)人員才使用的技術(shù)。設(shè)計(jì)師將越來(lái)越多地在ASIC或FPGA上實(shí)現(xiàn)設(shè)計(jì),甚至采用二者的組合,如包含嵌入式FPGA的SoC或包含嵌入式內(nèi)核的PSoC。
正如前面所討論的,多點(diǎn)綜合技術(shù)既可用于ASIC設(shè)計(jì),又可用于FPGA設(shè)計(jì),但ASIC與FPGA設(shè)計(jì)人員的關(guān)鍵需求略有不同。
ASIC設(shè)計(jì)人員需要有效管理極高的門數(shù)、設(shè)計(jì)分割以及與綜合或重構(gòu)設(shè)計(jì)有關(guān)的腳本,而FPGA設(shè)計(jì)人員通常更需要一個(gè)不以犧牲結(jié)果質(zhì)量為代價(jià)的快速增量設(shè)計(jì)流程。當(dāng)與Altera公司的Logic Lock或Xilinx公司的Modular設(shè)計(jì)流程配合使用時(shí),多點(diǎn)綜合流程可以向設(shè)計(jì)人員提供一種優(yōu)秀的增量設(shè)計(jì)方法,它能鎖定部分設(shè)計(jì),并使之在綜合期間保持不變。這可以使已經(jīng)驗(yàn)證過(guò)的部分設(shè)計(jì)保持不變和穩(wěn)定,而只修改真正需要改動(dòng)的設(shè)計(jì)部分。這種方法不僅提供了穩(wěn)定的結(jié)果質(zhì)量,而且顯著減少了每個(gè)設(shè)計(jì)改動(dòng)所需的綜合及運(yùn)行時(shí)間。
多點(diǎn)綜合技術(shù)的使用
多點(diǎn)綜合流程簡(jiǎn)單明了。首先,設(shè)計(jì)者編譯HDL并創(chuàng)建整個(gè)設(shè)計(jì)的RTL視圖;然后,設(shè)計(jì)者基于他們對(duì)設(shè)計(jì)和關(guān)鍵功能或路徑的理解來(lái)定義編譯點(diǎn)。下一步是對(duì)整個(gè)設(shè)計(jì)進(jìn)行自動(dòng)時(shí)間預(yù)算。一旦確定最初的時(shí)間預(yù)算后,設(shè)計(jì)者再利用這些預(yù)算對(duì)每一個(gè)編譯點(diǎn)進(jìn)行綜合。隨后,系統(tǒng)將自動(dòng)創(chuàng)建ILM,并執(zhí)行頂層的時(shí)序分析和優(yōu)化。在執(zhí)行最初的時(shí)間預(yù)算時(shí),多點(diǎn)技術(shù)同時(shí)對(duì)整個(gè)設(shè)計(jì)進(jìn)行操作,以便為各分層模塊創(chuàng)建時(shí)序預(yù)算。因?yàn)樗槐叵拇罅繒r(shí)間去創(chuàng)建人工約束條件,所以完成時(shí)間預(yù)算的速度比傳統(tǒng)方法快得多。
多點(diǎn)技術(shù)可以達(dá)到的結(jié)果如圖2a所示,它是采用0.11微米工藝實(shí)現(xiàn)的一個(gè)200萬(wàn)門設(shè)計(jì)。與大多數(shù)高級(jí)SoC相同,這個(gè)特定設(shè)計(jì)包含一個(gè)可復(fù)制的IP模塊。這個(gè)15萬(wàn)門的模塊被復(fù)制了9遍,并被指定為鎖定編譯點(diǎn)。該可復(fù)制模塊只被映射一次,然后在頂層進(jìn)行復(fù)制。在較低層的編譯點(diǎn)被綜合之后,利用該可復(fù)制模塊的一個(gè)ILM以及余留邏輯的另一個(gè)ILM就可以執(zhí)行“自上而下”的綜合,這種方法能減少幾乎80%的計(jì)算開銷。與傳統(tǒng)的“自上而下”方法相比(見圖2b),多點(diǎn)技術(shù)占用的存儲(chǔ)器及運(yùn)行時(shí)間減少了約80%,而且其QoR與直接的“自上而下”綜合相當(dāng)。
與傳統(tǒng)綜合方法相比,多點(diǎn)技術(shù)具有許多優(yōu)勢(shì)。傳統(tǒng)方法限制最大的可綜合子模塊規(guī)模為20萬(wàn)門,而多點(diǎn)技術(shù)一次可以綜合150萬(wàn)到200萬(wàn)門的模塊。這意味著設(shè)計(jì)者不必根據(jù)工具的存儲(chǔ)器限制來(lái)分割設(shè)計(jì),而可以更直觀地根據(jù)設(shè)計(jì)的功能或時(shí)序來(lái)分割設(shè)計(jì)。由于采用了基于差別的增量方法并能自動(dòng)創(chuàng)建ILM和時(shí)間預(yù)算,多點(diǎn)技術(shù)提供了一種高生產(chǎn)率的自動(dòng)化解決方案,其“自上而下”的分層方法能提供可與“自上而下”綜合相媲美的QoR,而且?guī)фi定編譯點(diǎn)的增量綜合還能確保“自下而上”方法的穩(wěn)定性。
多點(diǎn)技術(shù)同時(shí)適用于FPGA或 ASIC設(shè)計(jì),這使得開發(fā)人員無(wú)需掌握多種不同的工具套件,并可以選擇最佳的實(shí)現(xiàn)方案,無(wú)論是ASIC、FPGA還是二者的混合體。此外,多點(diǎn)技術(shù)的伸縮性使得設(shè)計(jì)人員不必為追隨每一代新的工藝技術(shù)而改變?cè)O(shè)計(jì)方法。
多點(diǎn)技術(shù)還是一種能滿足未來(lái)設(shè)計(jì)需要的可擴(kuò)展、可伸縮平臺(tái)。許多設(shè)計(jì)者擔(dān)心目前使用的綜合方法不能擴(kuò)展到下一代設(shè)計(jì)中。Synplicity開發(fā)的多點(diǎn)技術(shù)不必改變目前使用的綜合方法,就能適應(yīng)未來(lái)設(shè)計(jì)的需要。多點(diǎn)綜合的基礎(chǔ)架構(gòu)允許集成新的功能,以支持未來(lái)的硬件、操作系統(tǒng)和存儲(chǔ)器結(jié)構(gòu)。
評(píng)論