在 Vivado 中,生成 IP 文件时的 Synthesis Options 提供了两种主要的综合模式:Global 和 Out of Context per IP。这两种模式的主要区别如下:
1. Global Synthesis(全局综合)
- 定义:在这种模式下,IP 核与顶层设计一起进行综合。IP 核不会单独生成一个设计检查点(DCP),而是与整个顶层设计一起综合。
- 优点 :
- 简化流程:整个设计作为一个整体进行综合,适合小型或简单的项目。
- 约束管理:可以更灵活地管理顶层和 IP 核之间的约束关系。
- 缺点 :
- 综合时间长:每次修改顶层或 IP 核时,都需要重新综合整个设计,这可能会导致较长的综合时间。
2. Out of Context per IP(按 IP 核独立综合)
- 定义:在这种模式下,每个 IP 核会单独进行综合,并生成一个独立的设计检查点(DCP)。顶层设计在综合时会将这些 DCP 作为黑盒(black box)进行处理。
- 优点 :
- 提高效率:只有修改过的 IP 核或模块需要重新综合,这可以显著减少综合时间。
- IP 缓存:启用 IP 缓存后,未修改的 IP 核可以直接使用缓存的综合结果,进一步提高效率。
- 缺点 :
- 约束限制:由于 IP 核在综合时是独立的,顶层约束无法直接引用 IP 核内部的对象(如引脚、网、单元等),这可能会导致一些约束问题。
- 复杂性增加:需要管理更多的设计检查点和约束文件。
选择建议
- 小型项目 :如果项目较小且 IP 核数量不多,使用 Global Synthesis 可能更简单。
- 大型项目 :对于大型项目或需要频繁修改的项目,Out of Context per IP 可以显著提高综合效率。
总结
- Global Synthesis:适合简单或小型项目,整个设计一起综合。
- Out of Context per IP:适合大型或复杂项目,提高综合效率,但需要更细致的约束管理。