發布日期:2022-07-15 點擊率:28
要實現復雜芯片設計的時序收斂,就非常類似于這一古老的游戲,但趣味自然少了許多。在你修復每個關鍵路徑問題時,新的問題又會冒出來。
每一代新的FPGA都會給我們帶來更高的性能和更大的容量。設計因此變得越來越大和越來越復雜,并包含多個時鐘域、使用嵌入式乘法累加函數、嵌入式處理器和各種存儲器資源。這些變化已將FPGA推向許多新的應用領域。同時,綜合/布局布線流程中的時序可預測性則一代不如一代。在可預測單元延時和可預測性較差的互連延時之間的路徑延時差別是越來越大。互連的可預測性天生就比較差,因為在驅動器和負載之間存在具有不同延時的許多布線路徑。最快選擇通常最不足,布線擁塞常導致非最優的延時。值得注意的是,最佳布線資源并不缺乏,但FPGA將變得更昂貴,功耗也更大。
另外一個導致不可預測性的根源是過去幾代FPGA中早已有的嵌入式IP。這種IP包含了在FPGA裸片上不均勻分布的各種容量的存儲器、DSP加速器(可配置乘法累加函數)和處理器。假設根據市場需求要增加存儲器容量,現在綜合工具將改變其映射的存儲器IP類型。不幸的是,新的存儲器IP只是位于FPGA裸片上專門的幾列上,因此設計布局將不同于原始布局,一些關鍵走線需要延伸至這些列。
在許多情況下一個時序問題的解決會導致RTL的變化。通常改進時序的一些變化會增加面積消耗。考慮如圖1所示帶多個模塊的大型設計。模塊A緊鄰模塊B和C放置。當我們為了解決某個時序問題而“修復”模塊A的RTL時,它會擴展到模塊B和C使用的區域。這將迫使B和C中的器件移動和延伸,從而產生新的關鍵路徑。注意模塊B和C中的邏輯沒有變化,邏輯綜合流程不會僅僅因為模塊A尺寸的增加而改變它對B或C中互連延時的估計。這是因為RTL變化和B或C中新的關鍵路徑之間的耦合是自然的物理特性。
那么我們在“打鼴鼠”游戲中如何獲勝呢?導致設計反復中不可預測性的原因是自然的物理特性,因此物理綜合當仁不讓成為首選解決方案。當模塊A的RTL改變并擴大、延長模塊B和C中的走線時,新的更長互連可以被正確估計,優化、布局和局部布線的整合以及新的關鍵路徑可以自動解決這些問題。大多數鼴鼠已被擊退,你再也不會看到它們從洞中冒出來。
物理綜合通常能提高信號頻率,但對復雜芯片的許多設計師來說,物理綜合中可預測更好和受控的時序收斂將更有價值。
作者:Ken McElvain
首席技術官
Synplicity公司