55194 - Vivado 综合 - 对于 SystemVerilog 而言,有哪些 Vivado 综合最佳实践?

73 阅读1分钟

标题

55194 - Vivado 综合 - 对于 SystemVerilog 而言,有哪些 Vivado 综合最佳实践?

描述

此答复记录解释了适用于 SystemVerilog 的 Vivado 综合最佳实践。

解决方案

以下是适用于 SystemVerilog 的 Vivado 综合最佳实践:

  • 请勿混用二态和四态类型。
  • Unique 和 Priority 均为运行时检查。

        - 鉴于 Unique 和 Priority 均为运行时检查,因此在综合中应谨慎使用。

  • 使用 Always_ff/Always_latch/Always_comb。
  • 支持字符串作为字面值。

        - “String”(字符串)是 SystemVerilog 中的一种动态类型,因此不可综合。

  • 请使用完全指定的 modport 获取最佳结果。
  • 请使用 .* 表示模块化代码,尽可能减少连接错误。
  • 默认自动处理函数。
  • 要启用 RAM 抽取,请在同一个模块内执行读/写。
  • 使用 enum 代替 localparam。