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