Vivado 2019.1新特性(2):report_ram_utilization

  • 2019 年 10 月 30 日
  • 筆記

report_ram_utilization這個命令在Vivado2018.3版本中就已經存在。在2019.1的版本中有了微小的更新,增加了一個新的選項-include_path_info。藉此,我們詳細介紹一下這個命令。

儘管通過report_utilization命令可查看不同RAM(Block RAM,Distributed RAM,URAM)的資源利用率,但report_ram_utilization能夠獲得更多的資訊,這對於時序分析非常有利。

report_ram_utilization生成報告由五部分構成。

第一部分是Summary,顯示了不同RAM的利用率,如下圖所示。

第二部分Memory Description顯示了Memory Name、Array Size和Memory Type等資訊,如下圖所示。其中通過Memory Name結合get_cells命令可找到對應的Memory。

第三部分Memory Utilization顯示了每個Memory的大小以及Primitive,如下圖所示。在這部分內容中可以看到每個Memory的深度、寬度等資訊。

第四部分Memory Performance主要用於時序分析,如下圖所示。在這部分可以看到DOA_REG、DOB_REG等Block RAM的屬性,據此可判定該BRAM是否使用了自帶的Embedded Register。同時還可以看到IREG_A、OREG_A等UltraRAM的屬性,據此可判定該URAM是否使用了自帶的輸入暫存器和輸出暫存器。

第五部分Memory Power主要用於分析BRAM對整個設計的功耗貢獻,如下圖所示。從這裡可以看到每個BRAM各自埠的WRITE_MODE(READ_FIRST、WRITE_FIRST和NO_CHANGE)。

這個命令的使用方法也很簡單,如下圖所示。可以針對整個設計使用該命令,也可以針對某個模組使用該命令,只需添加選項-cells。生成報告可以在Tcl Console里直接顯示,也可通過選項-file保存在指定文件中。