Vivado綜合設置選項分析:-resource_sharing

  • 2019 年 10 月 31 日
  • 筆記

-resource_sharing的目的是對算術運算實現資源共享,它有三個值auto、off和on。默認值為auto,此時會根據設計時序需求確定是否資源共享。這裡需要強調的是它只對算術運算即加法(減法可認為是加法運算)和乘法運算有效。

一個典型案例如下圖所示程式碼(VHDL和Verilog程式碼等效,選擇自己喜歡的閱讀即可)。這是一個通過控制訊號實現加減法運算的電路。當op為1時,執行opa+opb;否則,執行opa-opc。

-resource_sharing為off和on時對應的電路如下圖所示。很明顯,-resource_sharing為on時少用了一個加法器,也就是減少了LUT和Carry Chain等資源。這可進一步在資源利用率中得以驗證。

-resource_sharing也可應用於乘法運算,如下圖所示程式碼。

當-resource_sharing為auto時,意味著Vivado會根據時序要求決定是否採取資源共享。

結論:

-默認情形下,將-resource_sharing設置為auto即可。