编译表频率
1. 使用 Design Compiler 评估 RTL 设计
设计编译器进行 RTL 综合流程包含以下几个关键步骤,帮助评估 RTL 设计的性能,特别是工作频率、面积和功耗。以下是对流程的详细描述和操作指南:
首先,了解设计编译器的主要功能,即逻辑综合(Logic Synthesis),其将 RTL 设计转换为门级网表。设计编译器随后提供时序、面积和功耗的估算,这些数据用于评估设计性能。
设计编译器提供两种模式:WLM 模式和 Topographical 模式。WLM 模式基于连线的扇出数和统计经验数据来估算连线的电阻和电容特性。相比之下,Topographical 模式(DC-T 模式)采用模拟粗粒度布局布线的方法,提供更准确的连线评估结果,但需要额外的物理库支持。启动 Topographical 模式时,在命令后面添加“-topo”参数。
设计编译器启动有多种方式,首先需要加载工艺库,这涉及配置三个关键变量:target_library、link_library 和 search_path。target_library 指向包含工艺库的 NLDM/CCS 模型文件,建议使用相对路径,并确保在启动目录中。link_library 包含 target_library 以及可能的 IP 或 Hard macro 的工艺库,确保在命令中包含 * 符号以正确加载所有模块。search_path 初始包含重要库,增加存放 RTL 源码的目录,但不要覆盖初始设置。
加载物理库(如用于 Topographical 模式的物理库)需执行四个步骤:创建 Milkyway 数据库、检查数据库与 target_library 的一致性、设置 TLUPlus 和 Layer Mapping,并确保所有文件在项目中可用。
读取 RTL 设计通常以 Verilog 实现,通过 read_verilog 和 current_design 指定顶层模块名称。在评估过程中,添加时序约束是关键,包括确定时间单位、设置时钟、约束输入、输出延迟以及组合逻辑。设计编译器的时序模型允许对实际时钟周期进行建模,包括不确定性和过渡延迟,确保评估结果保守可靠。
综合步骤涉及确认约束后开始执行。设计编译器提供多核支持的选项,以提升综合性能。完成后,分析结果以检查是否满足时序要求、评估面积和功耗,并检查是否有违例。最后,输出综合后的设计数据,包括网表。
整个流程展示了设计编译器在 RTL 综合中的应用,从加载工艺库、物理库,到读取设计、添加时序约束,最终综合并分析结果,以评估和优化 RTL 设计性能。