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