資源利用率報告中的LUT和LUTRAM有什麼區別

  • 2019 年 10 月 31 日
  • 筆記

通過Report Utilization查看資源利用率報告時,會生成如下圖所示的一個表格。在這個表格中Resource對應的列會有LUT和LUTRAM,那麼兩者到底有什麼區別呢?是包含關係嗎?不過,可以斷定的是LUTRAM是指將LUT用做分散式RAM/ROM,換句話說是指SLICEM中的LUT被用做了存儲單元,那麼這裡的存儲單元是否包含移位暫存器(SRL)呢?

為了驗證我們看如下一個設計。這個設計包含三個模組:5-bit計數器(會消耗1個LUT),32×1(深度為32,寬度為1)的分散式RAM(會消耗1個SLICEM中的LUT),深度為32的移位暫存器(會消耗1個SLICEM中的LUT)。

對每個模組採用OOC綜合方式,可以驗證上述對每個模組LUT利用率推斷的正確性,如下圖所示。

打開布線後的DCP,執行report_utilization命令,結果如下圖所示。可以看到該設計共消耗了3個LUT,2個LUTRAM。

事實上,從Available對應列可以看到LUT對應的數據為41000,而該數據指的是FPGA中所有LUT的個數。

結論:

-資源利用率中的LUT是指設計中消耗的所有LUT,包括用做邏輯函數發生器的LUT(SLICEL中的LUT),也包括用做存儲單元的LUT(SLICEM中的LUT)

-資源利用率報告中的LUTRAM是指設計中消耗的SLICEM中的LUT(用做分散式RAM/ROM或移位暫存器)