時序優(yōu)化--從寄存器擺放位置入手
掃描二維碼
隨時隨地手機看文章
IC設(shè)計中,因為邏輯功能的要求,有些關(guān)鍵路徑不能通過插入Pipeline的方式優(yōu)化時序,又因為性能的要求也不能粗暴地降低時鐘頻率。此時可以從關(guān)鍵寄存器的擺放位置角度考慮實現(xiàn)時序優(yōu)化。通過對非關(guān)鍵路徑插入Pipeline從而減少對關(guān)鍵寄存器的時序約束,讓關(guān)鍵寄存器能夠靈活擺放,減少路徑延時從而達到優(yōu)化關(guān)鍵路徑的目的。
如圖所示,圖中的1R1W的RAM作為有效包數(shù)量統(tǒng)計的RAM,當有數(shù)據(jù)包來臨時p1_md_vld為1,從RAM讀數(shù)據(jù),經(jīng)過2拍延時后得到了讀數(shù)據(jù),讀數(shù)據(jù)加1得到打一拍得到p4_pkt_num_mem_wdata,同時mem寫信號p4_pkt_num_mem_wr需要根據(jù)讀數(shù)據(jù)和其他信號進行邏輯判斷后才能得到,因為需要支持背靠背統(tǒng)計累加,因此RAM的mem寫信號wen到讀數(shù)據(jù)rdata之間存在組合邏輯,在本案例中關(guān)鍵路徑是紅色虛線表示的路徑:p4_pkt_num_mem_wr->mem的rdata->邏輯判斷->p4_pkt_num_mem_wr。
在優(yōu)化前,p4_pkt_num_mem_wr因為p5_others_reg寄存器的時序要求而離ram比較遠,此時路徑延時較長。優(yōu)化方法:將寄存器p4_pkt_num_mem_wr打一拍得到p5_pkt_num_mem_wr再通過邏輯判斷得到寄存器p6_others_reg。因為p4_pkt_num_mem_wr和p5_pkt_num_mem_wr沒有復(fù)雜邏輯因此此時p4_pkt_num_mem_wr擺放位置可以離RAM更近一些。
此方法的優(yōu)化效果在不同的代碼中存在明顯差異。如果關(guān)鍵寄存器p4_pkt_num_mem_wr驅(qū)動的邏輯特別多,即在優(yōu)化前的圖中,p5_others_reg數(shù)量越多,其邏輯判斷越復(fù)雜,則此方法的效果則越好。在FPGA設(shè)計中,資源利用率較高時,此方法的優(yōu)化效果更加明顯。






